﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Facebook
{
    /// <summary>
    /// The ConnectionType enum specify the connections supported for people and pages  
    /// </summary>
    public enum ConnectionType 
    {
        friends,
        home,
        feed,
        likes,
        movies,
        music,
        books,
        notes,
        permissions,
        photos,
        albums,
        videos,
        @event,
        groups,
        checkins
    }

    /// <summary>
    /// The SearchType enum specify the  type of objects wich can be made any search  
    /// </summary>
    public enum SearchType
    {
        /// <summary>
        /// Search on a post object
        /// </summary>
        post,
        
        /// <summary>
        /// Search on a user object
        /// </summary>
        user,
        
        /// <summary>
        /// Search on all page objects
        /// </summary>
        page,
        
        /// <summary>
        /// Search on all events objects
        /// </summary>
        events,
        
        /// <summary>
        /// Search on all group objects
        /// </summary>
        group,
        
        /// <summary>
        /// Search on all place objects
        /// </summary>
        place,
        
        /// <summary>
        /// Search on all checkins objects
        /// </summary>
        checkin

    }

    /// <summary>
    /// the PublishType enum indicates the type of object that support writing
    /// </summary>
    public enum PublishType
    {
        /// <summary>
        /// Publish a new post on the given profile's feed/wall
        /// arguments: message, picture, link, name, caption, description, source
        /// /PROFILE_ID/feed
        /// </summary>
        feed,
        /// <summary>
        /// Comment on the given object (if it has a /comments connection)
        /// arguments: message
        /// /OBJECT_ID/comments
        /// </summary>
        comments,
        /// <summary>
        /// Like the given object (if it has a /likes connection)
        /// arguments: none
        /// /OBJECT_ID/likes
        /// </summary>
        likes,

        /// <summary>
        /// Publish a note on the given profile
        /// arguments: message, subject
        /// /PROFILE_ID/notes
        /// </summary>
        notes,

        /// <summary>
        /// Publish a link on the given profile
        /// arguments: link, message, picture, name, caption, description
        /// /PROFILE_ID/links
        /// </summary>
        links,

        /// <summary>
        /// Create an event
        /// events name, start_time, end_time (  dates are  ISO-8601 formatted )
        /// /PROFILE_ID/events
        /// </summary>
        events,
        /// <summary>
        /// RSVP "attending" to the given event
        /// none
        /// /EVENT_ID/attending
        /// </summary>
        attending,

        /// <summary>
        /// RSVP "maybe" to the given event
        /// none
        /// /EVENT_ID/maybe
        /// </summary>
        maybe,

        /// <summary>
        /// RSVP "declined" to the given event
        /// none
        /// /EVENT_ID/maybe
        /// </summary>
        declined,

        /// <summary>
        /// Create an album
        /// arguments: name, message
        /// /PROFILE_ID/albums
        /// </summary>
        albums,

        /// <summary>
        /// Upload a photo to an album
        /// message, source (multipart/form-data)
        /// /ALBUM_ID/photos
        /// </summary>
        photos,

        /// <summary>
        /// Create a checkin at a location represented by a Page
        /// arguments: coordinates, place, message, tags
        /// /PROFILE_ID/checkins
        /// </summary>
        checkins
    }
      
}